home *** CD-ROM | disk | FTP | other *** search
- unit uCallContact;
-
- {
- *******************************************************************************
- * Descriptions: Call Contact Dialog
- * $Source: /cvsroot/fma/fma/uCallContact.pas,v $
- * $Locker: $
- *
- * Todo:
- *
- * Change Log:
- * $Log: uCallContact.pas,v $
- * Revision 1.1 2004/06/29 13:47:22 z_stoichev
- * Initial checkin.
- *
- *
- }
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, TntStdCtrls, Placemnt, Buttons, Menus;
-
- const
- MaxFavorites = 20;
-
- type
- TfrmCallContact = class(TForm)
- Label1: TLabel;
- btnCall: TButton;
- btnCancel: TButton;
- btnSelect: TButton;
- FormPlacement1: TFormPlacement;
- edContact: TTntEdit;
- SpeedButton1: TSpeedButton;
- FavoritesPopupMenu: TPopupMenu;
- AddToFavorites1: TMenuItem;
- Organize1: TMenuItem;
- N2: TMenuItem;
- procedure btnCancelClick(Sender: TObject);
- procedure FormShow(Sender: TObject);
- procedure edContactChange(Sender: TObject);
- procedure btnSelectClick(Sender: TObject);
- procedure btnCallClick(Sender: TObject);
- procedure FavoritesPopupMenuPopup(Sender: TObject);
- procedure PopupMenu1Click(Sender: TObject);
- procedure Organize1Click(Sender: TObject);
- procedure AddToFavorites1Click(Sender: TObject);
- procedure SpeedButton1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- procedure AddRecipient(str: String);
- end;
-
- var
- frmCallContact: TfrmCallContact;
-
- implementation
-
- uses uGetContact, Unit1;
-
- {$R *.dfm}
-
- procedure TfrmCallContact.btnCancelClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TfrmCallContact.FormShow(Sender: TObject);
- begin
- edContact.Text := '';
- edContact.SetFocus;
- end;
-
- procedure TfrmCallContact.edContactChange(Sender: TObject);
- begin
- btnCall.Enabled := Trim(edContact.Text) <> '';
- btnCall.Default := btnCall.Enabled
- end;
-
- procedure TfrmCallContact.btnSelectClick(Sender: TObject);
- begin
- with TfrmGetContact.Create(nil) do
- try
- SelContacts := edContact.Text;
- if ShowModal = mrOk then begin
- edContact.Text := SelContacts;
- edContact.SetFocus;
- end;
- finally
- Free;
- end;
- end;
-
- procedure TfrmCallContact.btnCallClick(Sender: TObject);
- begin
- Form1.RequestConnection;
- try
- Form1.VoiceCall(Form1.ExtractNumber(edContact.Text));
- Close;
- except
- Form1.Status('Error daling number');
- end;
- end;
-
- procedure TfrmCallContact.FavoritesPopupMenuPopup(Sender: TObject);
- var
- i: integer;
- Item: TMenuItem;
- begin
- AddToFavorites1.Enabled := edContact.Text <> '';
- while FavoritesPopupMenu.Items.Count > 3 do
- FavoritesPopupMenu.Items.Delete(3);
- for i := 0 to Form1.FFavoriteCalls.Count-1 do begin
- Item := TMenuItem.Create(FavoritesPopupMenu);
- Item.Caption := Form1.FFavoriteCalls[i];
- Item.AutoHotkeys := maManual;
- Item.ImageIndex := 26;
- Item.OnClick := PopupMenu1Click;
- FavoritesPopupMenu.Items.Add(Item);
- end;
- end;
-
- procedure TfrmCallContact.PopupMenu1Click(Sender: TObject);
- begin
- edContact.Text := (Sender as TMenuItem).Caption;
- edContact.SetFocus;
- end;
-
- procedure TfrmCallContact.Organize1Click(Sender: TObject);
- begin
- Form1.EditCallFavorites1.Click;
- end;
-
- procedure TfrmCallContact.AddToFavorites1Click(Sender: TObject);
- begin
- if Form1.FFavoriteCalls.IndexOf(edContact.Text) = -1 then begin
- Form1.FFavoriteCalls.Insert(0,edContact.Text);
- while Form1.FFavoriteCalls.Count > MaxFavorites do
- Form1.FFavoriteCalls.Delete(MaxFavorites);
- end;
- end;
-
- procedure TfrmCallContact.SpeedButton1Click(Sender: TObject);
- var
- p: TPoint;
- begin
- with SpeedButton1 do p := ClientToScreen(Point(0,Height));
- FavoritesPopupMenu.Popup(p.X,p.Y);
- end;
-
- procedure TfrmCallContact.AddRecipient(str: String);
- begin
- edContact.Text := str;
- end;
-
- end.
-